/*
 * Vehicule.cpp
 *
 *  Created on: 23 mars 2012
 *      Author: root
 */
#include "Vehicule.h"
#include <iostream>
#include<fstream>

Vehicule::Vehicule(){}
Vehicule::~Vehicule(){}
Vehicule::Vehicule (string NumMatricule,string Modele,string DateAcquisition,string Couleur,long PuissanceFiscal,string Carburant,bool EtatDeDisponibilite,long NumParking)
{
	this->NumMatricule=NumMatricule;
	this->Modele=Modele;
	this->DateAcquisition=DateAcquisition;
	this->Couleur=Couleur;
	this->PuissanceFiscal=PuissanceFiscal;
	this->Carburant=Carburant;
	this->EtatDeDisponibilite=EtatDeDisponibilite;
	this->NumParking=NumParking;
}


void Vehicule::Afficher(){}

bool Vehicule::getEtatDeDisponibilite()const
	{
	    return EtatDeDisponibilite;
	}

void Vehicule::setEtatDeDisponibilite(bool EtatDeDisponibilite)
{
	this->EtatDeDisponibilite=EtatDeDisponibilite;
}

string Vehicule::getNumMatricule()const
	{
	    return NumMatricule;
	}

void Vehicule::setNumMatricule(string mat)
{
	this->NumMatricule=mat;
}

string Vehicule::getModele()const
{
	return Modele;
}
void Vehicule::setModele(string mod)
{
	this->Modele=mod;
}

string Vehicule::getDateAcquisition()const
{
	return DateAcquisition;
}

void Vehicule::setDateAcquisition( string date)
{
	this->DateAcquisition=date;
}

string Vehicule::getCouleur()const
{
	return Couleur;
}
void Vehicule::setCouleur(string couleur)
{
	this->Couleur=couleur;
}
long Vehicule::getPuissanceFiscal()const
{
	return PuissanceFiscal;
}
void Vehicule::setPuissanceFiscal(long puissance)
{
	this->PuissanceFiscal=puissance;
}
string Vehicule::getCarburant()const
{
	return Carburant;
}
void Vehicule::setCarburant(string carburant)
{
	this->Carburant=carburant;
}
long Vehicule::getNumParking()const
{
	return NumParking;
}
void Vehicule::setNumParking(long NumParking)
{
	this->NumParking=NumParking;
}

ifstream& operator>>(ifstream& in,Vehicule & V)
{
in>>V.NumMatricule;
in>>V.Modele;
in>>V.DateAcquisition;
in>>V.Couleur;
in>>V.PuissanceFiscal;
in>>V.Carburant;
in>>V.EtatDeDisponibilite;
in>>V.NumParking;
return in;
}

ofstream& operator<<(ofstream& out,const Vehicule & V)
{
out<<V.getNumMatricule()<<"\t"
<<V.getModele()<<"\t"
<<V.getDateAcquisition()<<"\t"
<<V.getCouleur()<<"\t"
<<V.getPuissanceFiscal()<<"\t"
<<V.getCarburant()<<"\t"
<<V.getEtatDeDisponibilite()<<"\t"
<<V.getNumParking();
return out;
}

ostream& operator<<(ostream& out,const Vehicule& V)
{
out<<"Num Matricule : "<<V.getNumMatricule()<<"\t"
<<" Modele : "<<V.getModele()<<"\t"
<<"Date Acquisition : "<<V.getDateAcquisition()<<"\t"
<<"Couleur : "<<V.getCouleur()<<"\t"
<<"PuissanceFiscal : "<<V.getPuissanceFiscal()<<"\t"
<<"Carburant : "<<V.getCarburant()<<"\t"
<<"Etat de Disponipilité : "<<V.getEtatDeDisponibilite()<<"\t"
<<"N° parking : "<<V.getNumParking()<<endl;
return out ;
}


istream& operator>>(istream& in,Vehicule & V)
{
in>>V.NumMatricule;
in>>V.Modele;
in>>V.DateAcquisition;
in>>V.Couleur;
in>>V.PuissanceFiscal;
in>>V.Carburant;
in>>V.EtatDeDisponibilite;
in>>V.NumParking;
return in;
}
